home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 June / PCWorld_2004-06_cd.bin / software / vyzkuste / koolmoves / kmsetup.exe / {app} / Motion Scripts / Explode / effect.txt
Text File  |  2002-11-10  |  3KB  |  123 lines

  1. mcN = "letter";
  2.  
  3. alphaInc = (0     - 100) / increments;
  4. scaleInc = (scale - 100) / increments;
  5.  
  6. aLetters = new Array();
  7.  
  8. for (i = 0; i< numChar; i++)
  9. {
  10.   aLetters[i+0] = i;
  11.   var letter =  this[mcN +i];
  12.   letter._visible = true;
  13.   letter.init = letterInit;
  14.   letter.doEffect = effect;
  15.   letter.number = i;
  16. }
  17.  
  18. function letterInit()
  19. {
  20.   if (this.timerStarted == 1)
  21.   {
  22.   } 
  23.   else
  24.   {
  25.     this.timerStarted = 0;
  26.   }
  27.  
  28.   this._visible = true;
  29.   this.step = 0;
  30.   this.increments = this._parent.increments;
  31.   this._alpha = 100;
  32.   this.alphaInc = this._parent.alphaInc;
  33.   this.scaleInc = this._parent.scaleInc;
  34.  
  35.   this.scale = 100;
  36.  
  37.   this.angle1 = 720 * Math.random() - 360;
  38.   this.angle2 = 720 * Math.random() - 360;
  39.  
  40.   this.angle1Inc = (this.angle1 - 0) / this.increments;
  41.   this.angle2Inc = (this.angle2 - 0) / this.increments;
  42.  
  43.   this.angle1 = 0;
  44.   this.angle2 = 0;
  45.  
  46.   // inner movie clip
  47.   this.letter._rotation = -45;
  48.  
  49.   this._rotation = 45;
  50.   this._xscale = 100;
  51.   this._yscale = 100;
  52. }
  53.  
  54. function effect()
  55. {
  56.   if (this.timerStarted == 0)
  57.   {
  58.      this.start = getTimer();
  59.      this.timerStarted = 1;
  60.      this.gotoAndPlay(3);
  61.   } 
  62.   else
  63.   {
  64.      if (getTimer() > (this.start + this._parent.startDelay))
  65.      {
  66.         this._alpha  += this.alphaInc;
  67.         this.scale   += this.scaleInc;
  68.  
  69.         this.angle1 += this.angle1Inc;
  70.         this.angle2 += this.angle2Inc;
  71.  
  72.         this._rotation = (this.angle1 + this.angle2) * .5 + 45;
  73.  
  74.         radian = 3.1416 / 180;
  75.  
  76.         angle1Rad = this.angle1 * radian;
  77.         angle2Rad = this.angle2 * radian;
  78.  
  79.         sin45 = Math.sin(45 * radian);
  80.  
  81.         sinAngles = Math.sin(((this.angle1 + this.angle2) * .5 + 45) * radian);
  82.  
  83.         if (sinAngles == 0)
  84.            sinAngles = 1;
  85.  
  86.         this._xscale = this.scale * (Math.cos(angle1Rad) + Math.sin(angle2Rad)) * sin45 / sinAngles;
  87.  
  88.         this._yscale = this.scale * (Math.sin(angle1Rad) + Math.cos(angle2Rad)) * sin45 / sinAngles;
  89.  
  90.        this.step += 1;
  91.  
  92.        if (this.step >= this.increments)
  93.        {
  94.           this.gotoAndStop("end");
  95.           this._xscale = 100;
  96.           this._yscale = 100;
  97.           this._rotation = 45;
  98.           this._alpha = 100;
  99.           this._visible = false;
  100.           this.timerStarted = 0;
  101.        }
  102.     }
  103.     else
  104.     {
  105.        this.gotoAndPlay(3);
  106.     }
  107.   }
  108. }
  109.  
  110. function shuffle()
  111. {
  112.   return Math.floor(Math.random() * 3) -1;
  113. }
  114.  
  115. if (random == 1)
  116. {
  117.   aLetters.sort(shuffle);
  118. }
  119.  
  120. if (reverse == 1)
  121. {
  122.   aLetters.reverse();
  123. }